home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / magicfsm.d < prev    next >
Text File  |  1997-10-26  |  7KB  |  179 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *         MAGIC   Modula's  All purpose  GEM  Interface  Cadre         *
  4.  *                 ÿ         ÿ            ÿ    ÿ          ÿ             *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus in schrift-  *
  11.  * licher Form, insbesondere in Zeitschriften, sowie die Verbreitung    *
  12.  * ber Public-Domain-H„ndler bedarf der ausdrcklichen schriftlichen   *
  13.  * Genehmigung des Autors!                                              *
  14.  *                                                                      *
  15.  * Der Autor gibt hiermit die ausdrckliche Erlaubnis, das Modul jeder- *
  16.  * zeit auch im Quelltext weiterzugegeben, sofern dessen Text und ins-  *
  17.  * besondere dieser Urheberrechts-Vermerk nicht ver„ndert wird, und     *
  18.  * durch die Weitergabe kein finanzieller Nutzen entsteht. Der Autor    *
  19.  * beh„lt sich das Recht vor, diese Erlaubnis jederzeit u. ohne Angaben *
  20.  * von Grnden zu widerrufen.                                           *
  21.  *----------------------------------------------------------------------*)
  22.  
  23. (*----------------------------------------------------------------------*
  24.  * Enth„lt die von Atari zus„tzlich eingefhrten erweiterten Funktionen *
  25.  * um das neue FSM-GDOS anzusteuern.  Fr n„here Informationen bitte    *
  26.  * unbedingt den FSM-Programmers Guide von Atari GmbH anfordern!        *
  27.  *----------------------------------------------------------------------*)
  28.  
  29. DEFINITION MODULE MagicFSM;
  30.  
  31. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  32.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  33.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  34.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  35.  
  36.  
  37.  
  38.  
  39.  
  40. FROM SYSTEM IMPORT ADDRESS;
  41.  
  42. (* Returnwerte fr MagicVDI.VqGdos *)
  43.  
  44. CONST   FSMGdos =  05F46534DH;  (* = '_FSM' FSMGdos von Atari Corp. *)
  45.         FontGdos = 05F464E54H;  (* = '_FNT' FontGdos von Atari Corp. *)
  46.  
  47. CONST   NoError =        0;
  48.         CharNotFound =   1;
  49.         ReadError =      8;
  50.         OpenError =      9;
  51.         BadFileformat = 10;
  52.         OutOfMemory =   11;
  53.         MiscError =     -1;
  54.  
  55. TYPE    FsmInt =          RECORD
  56.                            value:     sINTEGER;
  57.                            remainder: sINTEGER;
  58.                           END;
  59.  
  60. TYPE    FsmFpoint =       RECORD
  61.                            x: FsmInt;
  62.                            y: FsmInt;
  63.                           END;
  64.  
  65. TYPE    FsmDataFpoint =   RECORD
  66.                            pt:    FsmFpoint;
  67.                            cpt:   FsmFpoint;
  68.                            sharp: FsmFpoint;
  69.                           END;
  70.                         
  71. TYPE    PtrFsmComponent = POINTER TO FsmComponent;
  72.         FsmComponent =    RECORD
  73.                            reserved1:     sINTEGER;
  74.                            nextComponent: PtrFsmComponent;
  75.                            numPoints:     Byte;
  76.                            numCurves:     Byte;
  77.                            numContours:   Byte;
  78.                            reserved2:     ARRAY [0..12] OF Byte;
  79.                            points:   POINTER TO ARRAY [0..255] OF FsmDataFpoint;
  80.                            startPts: POINTER TO ARRAY [0..255] OF Byte;
  81.                           END;
  82.  
  83.  
  84. PROCEDURE InqFacename (handle, num: sINTEGER;
  85.                        VAR name: ARRAY OF CHAR; VAR fsm: BOOLEAN): sINTEGER;
  86.           (* vqt_name *)
  87.  
  88. PROCEDURE InqFExtent (handle: sINTEGER; REF  string: ARRAY OF CHAR;
  89.                       VAR extent: ARRAY OF LOC);
  90.           (* vqt_f_extent *)
  91.  
  92. PROCEDURE FSMText (handle, x, y: sINTEGER; REF  string: ARRAY OF CHAR);
  93.           (* v_ftext *)
  94.  
  95. PROCEDURE KillOutline (handle: sINTEGER; VAR component: ARRAY OF LOC);
  96.           (* v_killoutline *)
  97.  
  98. PROCEDURE GetOutline (handle: sINTEGER; ch: CHAR; VAR component: ARRAY OF LOC);
  99.           (* v_getoutline *)
  100.  
  101. CONST   ScratchFSM =    0;
  102.         ScratchBitmap = 1;
  103.         NoScratch =     2;
  104.  
  105. PROCEDURE SetScratch (handle, mode: sINTEGER);
  106.           (* vst_scratch *)
  107.  
  108. CONST   ToApplication = 0;
  109.         ToScreen =      1;  (* 8^( *)
  110.  
  111. PROCEDURE SetErrormode (handle, mode: sINTEGER; VAR errorcode: sINTEGER);
  112.  
  113. PROCEDURE SetArbpoints (handle, point: sINTEGER; VAR cw, ch, bw, bh: sINTEGER): sINTEGER;
  114.           (* set_point *)
  115.  
  116. PROCEDURE InqAdvance (handle: sINTEGER; ch: CHAR; 
  117.                       VAR advx, advy, xremain, yremain: sINTEGER);
  118.           (* vqt_advance *)
  119.  
  120. PROCEDURE InqDeviceinfo (handle, device: sINTEGER; VAR devstr: ARRAY OF CHAR): BOOLEAN;
  121.           (* vqt_devinfo *)
  122.  
  123. PROCEDURE SaveFSMCache (handle: sINTEGER; REF  file: ARRAY OF CHAR): sINTEGER;
  124.           (* v_savecache *)
  125.  
  126. PROCEDURE LoadFSMCache (handle: sINTEGER; REF  file: ARRAY OF CHAR; mode: sINTEGER): sINTEGER;
  127.           (* v_loadcache *)
  128.  
  129. PROCEDURE FlushFSMCache (handle: sINTEGER);
  130.           (* v_flushcache *)
  131.  
  132. PROCEDURE SetSize (handle, point: sINTEGER; VAR cw, ch, bw, bh: sINTEGER): sINTEGER;
  133.           (* vst_size *)
  134.  
  135. PROCEDURE SetSkew (handle, skew: sINTEGER): sINTEGER;
  136.           (* vst_skew *)
  137.  
  138. PROCEDURE GetFSMAsciitable (handle: sINTEGER; VAR ascii, style: ADDRESS);
  139.           (* v_get_tables *)
  140.  
  141. PROCEDURE GetFSMCachesize (handle, cache: sINTEGER): lCARDINAL;
  142.           (* v_cachesize *)
  143.  
  144. TYPE    PlacementInfo = RECORD
  145.                          xAdvance:      sINTEGER;
  146.                          xRemainder:    sINTEGER;
  147.                          yAdvance:      sINTEGER;
  148.                          yRemainder:    sINTEGER;
  149.                          mapWidth:      sINTEGER;
  150.                          mapHeight:     sINTEGER;
  151.                          xOffset:       REAL; 
  152.                          yOffset:       REAL;
  153.                          (* 32Bit, weiž der Teufel was fr ein Format... *)
  154.                         END;
  155.  
  156. TYPE    BitmapInfo =    ARRAY [0..6] OF PlacementInfo;
  157.  
  158. PROCEDURE GetBitmapinfo (handle, char: sINTEGER; VAR info: ARRAY OF LOC);
  159.  
  160. PROCEDURE EnableBezier (handle: sINTEGER): sINTEGER;
  161.  
  162. PROCEDURE DisableBezier (handle: sINTEGER);
  163.  
  164. PROCEDURE BezierBuffer (handle: sINTEGER; buff: ADDRESS; words: sINTEGER);
  165.  
  166. PROCEDURE Bezier (handle, count: sINTEGER;
  167.                   VAR xyarr, bezarr, extent: ARRAY OF LOC;
  168.                   VAR totpts, totmoves: sINTEGER);
  169.  
  170. PROCEDURE FilledBezier (handle, count: sINTEGER;
  171.                         VAR xyarr, bezarr, extent: ARRAY OF LOC;
  172.                         VAR totpts, totmoves: sINTEGER);
  173.  
  174. PROCEDURE BezierQuality (handle, percent: sINTEGER): sINTEGER;
  175.  
  176.  
  177. END MagicFSM.
  178.  
  179.